With the development of mobile/wireless network, personal communication is becoming reality. A user can access any multimedia services at anytime with another user having a mobile terminal. In order to support session based applications like VoIP, video streaming or conference, IPv6 is better to be used. However, the services might be interrupted when the mobile terminals move and handover. How to decrease the handover time and guarantee the QoS is very important.
For mobile IPv6 (MIPv6, RFC3775) enabled nodes, part of the Layer 3 handover delay is contributed by the configuration of the Care-of-Address (CoA) and Duplicate Address Detection (DAD) when the node moves into a visited network. The address configuration and DAD process may add up to a delay of 1 s, which is significant for real-time applications such as VoIP. Hence if we could reduce the time taken by the DAD procedure, the whole Mobile IPv6 handover procedure could be speeded up.
IPv6 (RFC2460) is an Internet Protocol designed for the next generation network. Compared with IPv4, some new features are introduced. Among these new features, the Stateless Address Configuration (RFC2462) allows a host to generate its own IPv6 addresses using a combination of locally available information and information advertised by routers. The routers advertise prefixes that identify the subnet(s) associated with a link, while hosts generate an “interface identifier” that uniquely identifies an interface on a subnet. An address is formed by combining the two. The Routers send Router Advertisements (RA) periodically which contain two flags indicating what type of auto-configuration (if any) should be performed. A “managed address configuration” flag indicates whether the hosts should use stateless auto-configuration to obtain addresses. The RA message also contains zero or more Prefix Information options that provide on-link prefixes for address auto-configuration.
Upon receiving a RA message, the host generates an IPv6 address based on the received Prefix Information. Then the host performs a Duplicate Address Detection (DAD) by sending out a Neighbor Solicitation (NS) message containing the newly generated address. If the address is already used by another host, that host replies with a Neighbor Advertisement (NA) defending the address. Once a defending NA is received, the address auto-configuration process is stopped, and another address is re-generated or a manual configuration is performed.
Once it has sent the NS, the host waits for RetransTimer milliseconds (ms) for a defending NA, and this solicit-and-wait process is repeated DupAddrDetectTransmits times. The default value of RetransTimer is 1000 ms and by default the process is done once, resulting in a default delay of 1000 ms, i.e., 1 second for the DAD.
Some methods have been proposed to reduce the duration time of DAD. For example, Advance Duplicate Address Detection [A-DAD] is proposed by Youn-Hee Han. In this method, each access router maintains “Passive Proxy Cache” of which each address is in advance generated and tested for its uniqueness by the access router. After successfully acquiring the address from the router, the host assigns it on its interface which attaches to the new link, without the RFC 2461 DAD. However, this method is more like the stateful address configuration such as DHCPv6. It lacks the flexibility provided by the stateless address configuration.
In [RFC4429], an Optimistic Duplicate Address Detection is proposed by N. Moore. In this proposal, a new address state, “Optimistic”, is introduced. This state is used to mark an address that is available for use but has not completed DAD. The use of the optimistic address is limited, for example, it should not be used as a source address in new communications. However for MIPv6, if the optimistic address is used in the binding update message as the Care-of-Address before the completion of the DAD process, the handover process may be disrupted when a duplicated address is detected.
In [UNDAD], the authors propose a scheme of using the Neighbor Cache Entries (NCE) of the access router for an efficient DAD process. The access routers are required to perform additional functionalities in order to maintain the complete list of nodes present in the subnet in their Neighbor Cache. The IPv6 hosts query the access router about the uniqueness of their auto-configured addresses. The access routers check the neighbor cache for any matching information and respond to the query of the mobile nodes. However, if no duplicated address is found, the host still has to wait for at least RetransTimer before assigning the configured address to itself. Hence the DAD process isn't speeded up.
In [END], the access router maintains an address cache which contains a list of addresses of all connected hosts. To check an address, the MS sends Neighbor Solicitations according to RFC 2461 and RFC 2462. Upon receiving the NS, the access router compares the tentative address in the NS against the entries in its address cache. If there is no match, the access router creates an entry for the (tentative) address in its address cache and sends a special Router Advertisement to the MS indicating the address's uniqueness. If there is a match that indicates that the address is conflict with another host, the access router relays the NS to the address owner without any modification. Upon receiving the NS, the address owner replies with an NA to defend its address. The access router relays the NA to the soliciting MS without any modification. Upon receiving the defending NA, the soliciting MS perceives the address conflict and refrains from assigning the tentative address to the interface. Although this mechanism reduces the DAD process significantly, however, there is still some delay caused by the signaling exchange.
In addition, for the existing mechanism based on Proxy Neighbor Discovery, the address information is learned from the NS message sent by the host during the DAD procedure. However this method is not reliable sometimes. If the address is learned from the NS message, according to [RFC2462], the host may not perform DAD and doesn't send the NS after the address configuration. For example, the address uniqueness is determined solely by the interface identifier, assuming that subnet prefixes are assigned correctly (i.e., if all of an interface's addresses are generated from the same identifier, either all addresses or none of them will be duplicated). Thus, for a set of addresses formed from a same interface identifier, it is sufficient to check that the link-local address generated from the identifier is unique on the link. The DAD is not performed for other addresses derived from the same interface identifier. So in this case, the access router has no way to learn the address information of the host. Thus the information contained in the address cache is not correct.
Therefore, these existing solutions can not solve the above-mentioned problem well.